home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #9 / Amiga Plus CD - 2004 - No. 09.iso / amigaplus / tools / amigaos4_only / ifxlite / imagefx3 / rexx / autofx / savebufferas_mpeg.ifx < prev    next >
Text File  |  2004-08-03  |  1KB  |  68 lines

  1. /*
  2.  * $VER: SaveBufferAs_MPEG.ifx 2.5 (27.02.96)
  3.  * Copyright © 1992-1996 Nova Design, Inc.
  4.  * Written by Thomas Krehbiel
  5.  *
  6.  * Encode an MPEG stream from a series of frames.  Uses third-party
  7.  * MPEG encoder software.
  8.  *
  9.  * Inputs:
  10.  *    Word(Arg(1),1) = Frame number (1 - N)
  11.  *    Word(Arg(1),2) = Main filename ("-" if not specified)
  12.  *    Word(Arg(1),3) = Swap filename ("-" if not specified)
  13.  *    Word(Arg(1),4) = Sequence number
  14.  *    Word(Arg(1),5) = Total number of frames (N)
  15.  *
  16.  * Returns:
  17.  *    0 if successful, non-zero on failure
  18.  *
  19.  */
  20.  
  21. OPTIONS RESULTS
  22.  
  23. base  = 'Autofx_MPEG_'
  24.  
  25. framenum = Word(Arg(1),1)
  26. mainname = Word(Arg(1),2)
  27. swapname = Word(Arg(1),3)
  28. seq      = Word(Arg(1),4)
  29. framemax = Word(Arg(1),5)
  30.  
  31. newpath = GETCLIP(base||'Path'||seq)
  32. neww    = GETCLIP(base||'Width'||seq)
  33. newh    = GETCLIP(base||'Height'||seq)
  34. xing    = GETCLIP(base||'Xing'||seq)
  35.  
  36. /* gracefully exit if no buffer */
  37. GetMain
  38. IF rc ~= 0 THEN EXIT 0
  39.  
  40. IF RIGHT(newpath,1) ~= ':' THEN newpath = newpath || '/'
  41.  
  42. newname = newpath||'mpeg_temp'||framenum
  43.  
  44. /* fix:  no longer assumes 'xing' is a boolean */
  45. IF xing ~= 0 THEN DO
  46.    neww = 160
  47.    newh = 120
  48.    END
  49.  
  50. GetPrefs Undo
  51. prevundo = result
  52. Undo Off
  53.  
  54. GetPrefs SaveNails
  55. prevnail = result
  56. SetPrefs SaveNails Off
  57.  
  58. Scale neww newh
  59. IF rc ~= 0 THEN EXIT rc
  60.  
  61. SaveBufferAs YUVSplit newname
  62. IF rc ~= 0 THEN EXIT rc
  63.  
  64. SetPrefs SaveNails prevnail
  65. Undo prevundo
  66.  
  67. EXIT
  68.